Non-uniform Random Variate Generation
نویسنده
چکیده
This is a survey of the main methods in non-uniform random variate generation, and highlights recent research on the subject. Classical paradigms such as inversion, rejection, guide tables, and transformations are reviewed. We provide information on the expected time complexity of various algorithms, before addressing modern topics such as indirectly specified distributions, random processes, and Markov chain methods. Authors’ address: School of Computer Science, McGill University, 3480 University Street, Montreal, Canada H3A 2K6. The authors’ research was sponsored by NSERC Grant A3456 and FCAR Grant 90-ER-0291. 1. The main paradigms The purpose of this chapter is to review the main methods for generating random variables, vectors and processes. Classical workhorses such as the inversion method, the rejection method and table methods are reviewed in section 1. In section 2, we discuss the expected time complexity of various algorithms, and give a few examples of the design of generators that are uniformly fast over entire families of distributions. In section 3, we develop a few universal generators, such as generators for all log concave distributions on the real line. Section 4 deals with random variate generation when distributions are indirectly specified, e.g, via Fourier coefficients, characteristic functions, the moments, the moment generating function, distributional identities, infinite series or Kolmogorov measures. Random processes are briefly touched upon in section 5. Finally, the latest developments in Markov chain methods are discussed in section 6. Some of this work grew from Devroye (1986a), and we are carefully documenting work that was done since 1986. More recent references can be found in the book by Hörmann, Leydold and Derflinger (2004). Non-uniform random variate generation is concerned with the generation of random variables with certain distributions. Such random variables are often discrete, taking values in a countable set, or absolutely continuous, and thus described by a density. The methods used for generating them depend upon the computational model one is working with, and upon the demands on the part of the output. For example, in a ram (random access memory) model, one accepts that real numbers can be stored and operated upon (compared, added, multiplied, and so forth) in one time unit. Furthermore, this model assumes that a source capable of producing an i.i.d. (independent identically distributed) sequence of uniform [0, 1] random variables is available. This model is of course unrealistic, but designing random variate generators based on it has several advantages: first of all, it allows one to disconnect the theory of non-uniform random variate generation from that of uniform random variate generation, and secondly, it permits one to plan for the future, as more powerful computers will be developed that permit ever better approximations of the model. Algorithms designed under finite approximation limitations will have to be redesigned when the next generation of computers arrives. For the generation of discrete or integer-valued random variables, which includes the vast area of the generation of random combinatorial structures, one can adhere to a clean model, the pure bit model, in which each bit operation takes one time unit, and storage can be reported in terms of bits. Typically, one now assumes that an i.i.d. sequence of independent perfect bits is available. In this model, an elegant information-theoretic theory can be derived. For example, Knuth and Yao (1976) showed that to generate a random integer X described by the probability distribution {X = n} = pn, n ≥ 1, any method must use an expected number of bits greater than the binary entropy of the distribution, ∑
منابع مشابه
Simulation Generation Of Non - Uniform Random Numbers
Problem: Given a uniform random variable U, generate a random variable X having a prescribed distribution function F X) (⋅. We previously discussed the inversion method. While inversion is a very general method, it may be computationally expensive. In particular, computing 1 X F () − ⋅ may have to be implemented via a numerical root-finding method in many cases. Therefore, we will now describe ...
متن کاملrvgtest - Testing Non-Uniform Random Variate Generator
Non-uniform random variate generators are of fundamental importance in Monte-Carlo methods and stochastic simulation. They are based on the assumption that a source of uniformly distributed random numbers is available that produces real and truely random numbers. In practice, however, we have to use pseudo-random numbers which are generated by means of floating point numbers. Thus there are dev...
متن کاملAutomatic Non-uniform Random Variate Generation in R
Random variate generation is an important tool in statistical computing. Many programs for simulation or statistical computing (e.g. R) provide a collection of random variate generators for many standard distributions. However, as statistical modeling has become more sophisticated there is demand for larger classes of distributions. Adding generators for newly required distributions seems not t...
متن کاملSimulating Perpetuities
A perpetuity is a random variable that can be represented as 1 + W 1 + W 1 W 2 + W 1 W 2 W 3 + , where the W i 's are i.i.d. random variables. We study exact random variate generation for perpetuities and discuss the expected complexity. For the Vervaat family, in which W 1 L = U 1== , > 0, U uniform 0; 1], all the details of a novel rejection method are worked out. There exists an implementati...
متن کاملVariate Generation in One Line of Code
Alternatively, A random variate with a given non-uniform distribution can often by generated in one assignment statement if a uniform source and some simple functions are available. We review such one-line methods for most of the key distributions. 1 A MODEL OF COMPUTATION Random variate generators that are conceptually simple and quick to program become invariably popular, even if they are not...
متن کامل